class code3 {
    //螺旋矩阵 II:模拟
    public int[][] generateMatrix(int n) {
        //填数
        int[][] ret = new int[n][n];
        int t=0,b=n-1;
        int l=0,r=n-1;
        int x = 1;
        while(true) {
            for(int j=l;j<=r;j++) ret[t][j] = x++;//left到right
            if(++t>b) break;
            for(int i=t;i<=b;i++) ret[i][r] = x++;//top to bottom
            if(l>--r) break;
            for(int j=r;j>=l;j--) ret[b][j] = x++;// right to left
            if(t>--b) break;
            for(int i=b;i>=t;i--) ret[i][l] = x++;// bottom to top
            if(++l>r) break;
        }
        return ret;
    }
}